﻿// **********************************************************************
//
// Author: KingSley
// Email:3268374537@qq.com
// Created:	2018/8/1   10:15
// Introduce: 角色的属性数据
// Include: 基础属性BaseAttribute、附加属性AdditiveAttribute、当前属性CurrentAttribute、
//          升级属性GrowthAttribute、总属性SumAttribute
//
// **********************************************************************
using UnityEngine;

namespace KingSley
{
    /// <summary>
    /// 基础属性
    /// </summary>
    [System.Serializable]
    public class BaseAttribute
    {
        /// <summary>
        /// 角色等级
        /// </summary>
        public int LV;
        /// <summary>
        /// 血量，魔量 
        /// </summary>
        public float HP, MP;
        /// <summary>
        /// 攻击力， 防御力， 力量， 智力， 敏捷， 体力 
        /// </summary>
        public float Attack, Defend, Strong, Intelligence, Agility, Power;
        /// <summary>
        /// 攻击速度，散步速度，跑步速度，后退速度，转身移动速度，转身速度，攻击范围，经验值，暴击概率,暴击伤害百分比；
        /// </summary>
        public float AttackSpeed, MoveSpeed, RotationSpeed, AttackRange, Exp, CriticalRate, CriticalDamage;
        /// <summary>
        /// 每秒血量回复，每秒魔量回复
        /// </summary>
        public float HPRecoverPerSecond, MPRecoverPerSecond;
    }

    /// <summary>
    /// 附加属性
    /// </summary>
    [System.Serializable]
    public class AdditionAttribute
    {
        /// <summary>
        /// 血量，魔量 
        /// </summary>
        public float HP, MP;
        /// <summary>
        /// 攻击力， 防御力， 力量， 智力， 敏捷， 体力 
        /// </summary>
        public float Attack, Defend, Strong, Intelligence, Agility, Power;
        /// <summary>
        /// 攻击速度，散步速度，跑步速度，后退速度，转身移动速度，转身速度，攻击范围，暴击概率，暴击伤害百分比；
        /// </summary>
        public float AttackSpeed, MoveSpeed, RotationSpeed, AttackRange, CriticalRate, CriticalDamage;

        /// <summary>
        /// 每秒血量回复，每秒魔量回复
        /// </summary>
        public float HPRecoverPerSecond, MPRecoverPerSecond;
    }

    /// <summary>
    /// 当前属性
    /// </summary>
    [System.Serializable]
    public class CurAttribute
    {
        /// <summary>
        /// 血量，魔量 
        /// </summary>
        public float CurHP, CurMP;
        /// <summary>
        /// 攻击力， 防御力， 力量， 智力， 敏捷， 体力 
        /// </summary>
        public float CurAttack, CurDefend, CurStrong, CurIntelligence, CurAgility, CurPower;
        /// <summary>
        /// 当前攻击速度，当前散步速度，当前跑步速度，当前后退速度，当前转身移动速度，当前转身速度，当前攻击范围，当前暴击概率，当前暴击伤害百分比；
        /// </summary>
        public float CurAttackSpeed, CurMoveSpeed, CurRotationSpeed, CurAttackRange, CurCriticalRate, CurCriticalDamage;

        /// <summary>
        /// 每秒血量回复，每秒魔量回复
        /// </summary>
        public float HPRecoverPerSecond, MPRecoverPerSecond;
    }

    /// <summary>
    /// 升级属性
    /// </summary>
    [System.Serializable]
    public class AttributeGrowth
    {
        /// <summary>
        /// 血量，魔量 
        /// </summary>
        public float HP, MP;
        /// <summary>
        /// 攻击力， 防御力， 力量， 智力， 敏捷， 体力 
        /// </summary>
        public float Attack, Defend, Strong, Intelligence, Agility, Power;
    }

    /// <summary>
    /// 总属性
    /// </summary>
    [System.Serializable]
    public class SumAttribute
    {
        /// <summary>
        /// 血量，魔量 
        /// </summary>
        public float HP, MP;
        /// <summary>
        /// 攻击力， 防御力， 力量， 智力， 敏捷， 体力 
        /// </summary>
        public float Attack, Defend, Strong, Intelligence, Agility, Power;
        /// <summary>
        /// 攻击速度，移动速度，转身速度，攻击范围，暴击概率,暴击伤害百分比；
        /// </summary>
        public float AttackSpeed, MoveSpeed, RotationSpeed, AttackRange, CriticalRate, CriticalDamage;
        /// <summary>
        /// 每秒血量回复，每秒魔量回复
        /// </summary>
        public float HPRecoverPerSecond, MPRecoverPerSecond;
    }
}